package com.yq.service.dao;

import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import org.springframework.stereotype.Repository;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 信  息: [yinquan] [2017-05-04] [1.0]
 * 描  述: Mapper 基础类
 */
@Repository
public interface BaseMapper<T, PK extends Serializable> {
    /**
     * 从数据库中获取uuid
     * @return
     */
    String uuid();
    /**
     * 根据条件获取实体对象
     * @param parameters
     * @return
     */
    Map findUniqueBy(Map<String, Object> parameters);
    /**
     * 保存
     * @param parameters
     * @return ID
     */
    int insert(Map<String, Object> parameters);
    /**
     * 更新
     * @param parameters
     */
    void update(Map<String, Object> parameters);
    /**
     * 搜索
     * @param parameters
     * @param pageBounds
     */
    List<Map<String, Object>> paging(Map<String, Object> parameters, PageBounds pageBounds);
}